创建一个名为john的数据库:
create database john;
进入到john库:
use john;
在john库中创建一个hello的表,里面的字段为id,name,age,city:
create table hello(
id int(100) not null auto_increment,
name varchar(100) not null,
age int(100) not null,
city varchar(100) not null,
primary key(id)) engine=innodb default charset=utf8;
(auto_increment这里是用于主键自动增长的,从1开始增长,当你把第一条记录删除时,再插入第二跳数据时,主键值是2,不是1)
(primary key(id)这里是将id作为主键值)
(存储引擎是innodb。innoDB 是 MySQL 上第一个提供外键约束的数据存储引擎,除了提供事务处理外,InnoDB 还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数量并提高性能,不会增加锁的数量。InnoDB 的设计目标是处理大容量数据时最大化性能,它的 CPU 利用率是其他所有基于磁盘的关系数据库引擎中最有效率的。)
(ENGINE=INNODB 表示将数据库的引擎设置为InnoDB,从MySQL 5.6开始默认使用该引擎。
DEFAULT CHARSET=utf8表示设置数据库的默认字符集为utf8)
show tables;(查看数据表是否建立成功);
在hello表中添加数据:
语法:
#方式一:INSERT INTO 表名(字段名,…) VALUES(值,…);
#方式二:INSERT INTO 表名 SET 字段名=值,字段名=值,…;
假如表中有可以为null的字段,注意可以通过以下两种方式插入null值:①字段和值都省略、②字段写上,值使用null
insert into hello values(null,“xiaohu”,22,“beijing”);
insert into hello values(null,“bailian”,24,“dalian”);
insert into hello values(null,“baike”,40,“shanghai”);
在hello表中添加三条数据,如图所示,id我们并没有设置值,但是还是自定义了1,2,3
将xiaohu改为xiaoming:
update hello set name=“xiaoming” where id=1;
语法
1、单表更新UPDATE 表名 SET 列 = 值,… WHERE 查询条件;
2、多表更新#sql92语法: UPDATE
表1 别名,
表2 别名 SET
列 = 值,
…WHERE 连接条件 AND 筛选条件 ;
#sql99语法: UPDATE
表1 别名 INNER | LEFT | RIGHT JOIN 表2 别名 ON 连接条件
SET 列 = 值,
…WHERE 筛选条件 ;
将baike删除掉:
语法
1、单表删除 DELETE FROM 表名 【WHERE 筛选条件 】;
2、多表删除(级联删除)
sql92语法: DELETE
表1的别名,
表2的别名 FROM
表1 别名,
表2 别名 WHERE 连接条件 AND 筛选条件 ;
sql99语法: DELETE
表1的别名,
表2的别名 FROM
表1 别名 INNER | LEFT | RIGHT JOIN 表2 别名 ON 连接条件 WHERE 筛选条件 ;
delete from hello where name=“baike”;
对于表的命令:
表的创建
CREATE TABLE 【IF NOT EXISTS】 表名 (
字段名 字段类型 【约束】,
字段名 字段类型 【约束】,
…
字段名 字段类型 【约束】
) ;
1、添加列
ALTER TABLE 表名 ADD COLUMN 列名 类型 【FIRST|AFTER 字段名】;
2、修改列的类型或约束
ALTER TABLE 表名 MODIFY COLUMN 列名 新类型 【新约束】;
3、修改列名
ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型;
4、删除列
ALTER TABLE 表名 DROP COLUMN 列名;
5、修改表名
ALTER TABLE 表名 RENAME 【TO】 新表名;
对于库的命令:
库的创建
(IF NOT EXISTS的意思是如果库存在的话停止创建,这样不会报错)
CREATE DATABASE 【IF NOT EXISTS】 库名 【 CHARACTER SET 字符集名】;
库的修改
#修改库字符集
ALTER DATABASE 库名 CHARACTER SET 字符集名;
库的删除
DROP DATABASE 【IF EXISTS】 库名;