sql命令(数据定义语言DDL)

DDL(Data Definition Language)是数据定义语言,它用于定义或改变数据库或表的结构等初始化工作上。通常,包括数据类型、表(Table)之间的关系以及数据库(Database)中的约束、索引、视图、存储过程、触发器等。

DDL命令通常用于创建数据库模式,例如CREATE、ALTER、DROP、TRUNCATE、RENAME、COMMENT等。这些命令一旦执行,就无法被撤销,因为它们改变了数据库的结构。

基础命令:

cmd命令窗口:

注意:

(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格。

mysql -h localhost -P 3306 -u root -pabc123  # 这里我设置的root用户的密码是abc123

查看所有数据库:

show databases;

sql命令(数据定义语言DDL)_第1张图片

创建自己的数据库

create database 数据库名;
#创建atguigudb数据库,该名称不能与已经存在的数据库重名。
create database atguigudb;

使用自己的数据库

use 数据库名;
​
#使用atguigudb数据库
use atguigudb;
说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046 (3D000): No database selected”(没有选择数据库)

使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另一个数据库操作,那么要重新use。

查看某个库的所有表格

show tables;  #要求前面有use语句
​
show tables from 数据库名;

创建新的表格

create table 表名称(
    字段名  数据类型,
    字段名 数据类型
);

说明:如果是最后一个字段,后面就用加逗号,因为逗号的作用是分割每个字段。

#创建学生表
create table student(
    id int,
    name varchar(20)  #说名字最长不超过20个字符
);

查看一个表的数据

select * from 数据库表名称;
#查看学生表的数据
select * from student;

添加一条记录

insert into 表名称 values(值列表);
​
#添加两条记录到student表中
insert into student values(1,'张三');
insert into student values(2,'李四');

报错:

mysql> insert into student values(1,'张三');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1
mysql> insert into student values(2,'李四');
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'name' at row 1
mysql> show create table student;

字符集的问题。

删除表格

drop table 表名称;
#删除学生表
drop table student;

删除数据库

drop database 数据库名;
#删除atguigudb数据库
drop database atguigudb;

你可能感兴趣的:(数据库)