一:链接MySQL?
连接mysql ?? ?1.开启服务? ?? ??? ?1.1 打开 我的电脑 右键 ?服务和应用程序 ?服务 ?运行 ?? ??? ? ?? ??? ?1.2 管理员身份 运行 cmd? ?? ??? ? ? ? net start 服务名?? ? ?? ??? ??? ? net stop ?服务名 ?? ??? ??? ?? ?? ?2.连接mysql? ?? ??? ?2.1 dos命令连接 ?? ??? ? ? ?2.1.1 cmd ?打开dos窗口 ?? ??? ??? ? ? ? ?mysql -uroot -p123456 ?? ??? ? ? ?? ?? ??? ??? ?2.1.2 cmd 打开dos窗口 ? ? ? ? ? ? ? ? ? mysql -uroot -p ?? ??? ??? ??? ? ?Enter password: ****** ?? ??? ??? ??? ? ? ?? ??? ?2.2 直接使用mysql的客户端 ?? ??? ? ?? ??? ? ?? ??? ?2.3 使用ide工具 ?? ??? ? ?? ??? ?2.4 JDBC?
二:MySql的基本操作
一.登陆到mysql数据库 ?? ?mysql -uroot -p123456 ?? ? 二.常见操作 ?? ?2.1 展示所有的数据库 ?? ? show databases; ?? ?+--------------------+ ?? ?| Database ? ? ? ? ? | ?? ?+--------------------+ ?? ?| information_schema | ?? ?| mysql ? ? ? ? ? ? ?| ?? ?| performance_schema | ?? ?| sys ? ? ? ? ? ? ? ?| ?? ?+--------------------+ ?? ? ?? ?2.2 创建数据库 ?? ? ?? ?? ? ? ?create database A; ?? ? ? ?Query OK, 1 row affected (0.00 sec) 成功 ?? ??? ? ?? ?2.3 创建表 ?? ? -- ?ERROR 1046 (3D000): No database selected ?? ? -- ?先有库 才能有表? ? 表必须创建在数据库中,先选择数据库在创建表 ?? ?? ?? ?? ?? ?-- ?选择数据库? ?? ??? ? ?use 数据库名字; ?? ??? ? ? ?? ??? ? ?use A; ?? ??? ? ?Database changed ?? ??? ?-- ?varchar(20) 字符串 ?? ??? ? ?? ??? ?create table 表名( ?? ??? ? ?? ??? ??? ?字段名 字段类型, ?? ??? ??? ?字段名 字段类型, ?? ??? ??? ?..... ?? ??? ??? ?最后字段 ?字段类型? ?? ??? ? ?? ??? ?); ?? ??? ?create table A1( ?? ??? ??? ? ?? ??? ??? ?id int, ?? ??? ??? ?sname varchar(20) ?? ??? ?);?? ??? ? ?? ??? ?create table a2(
?? ??? ??? ?id int, ?? ??? ??? ?age int, ?? ??? ??? ?salary double, ?? ??? ??? ?sname varchar(20) ?? ??? ? ?? ??? ?); ?? ?2.4?? ?-- 展示当前库内所有的表 ?? ??? ?show tables; ?? ??? ? ?? ?2.5?? ?-- 向表内添加数据 ?? ??? ? ?? ??? ?insert into 表名 values(字段值1,字段值2); ?? ??? ? ?? ??? ?insert into a1 values(1,'zs'); ?? ??? ?insert into a1 values(2,'ls'); ?? ??? ? ?? ??? ?insert into a2 values (1,20,456.7,'wanganshi'); ?? ??? ?insert into a2 values (2,22,456.7,'lishangyin'); ?? ??? ? ?? ?2.6?? ?-- 获取表内的数据 ?? ??? ? ?? ??? ?select * from a1;-- 获取a1表内所有的数据 ?? ??? ?select * from a1; ?? ??? ?+------+-------+ ?? ??? ?| id ? | sname | ?? ??? ?+------+-------+ ?? ??? ?| ? ?1 | zs ? ?| ?? ??? ?| ? ?2 | ls ? ?| ?? ??? ?+------+-------+ ?? ??? ? ?? ??? ?select * from a2; ?? ??? ?+------+------+--------+------------+ ?? ??? ?| id ? | age ?| salary | sname ? ? ?| ?? ??? ?+------+------+--------+------------+ ?? ??? ?| ? ?1 | ? 20 | ?456.7 | wanganshi ?| ?? ??? ?| ? ?2 | ? 22 | ?456.7 | lishangyin | ?? ??? ?+------+------+--------+------------+ 三.中文乱码 ? ? ? ?insert into ? a1 values(3,"李白"); ?? ? ?? ?? ? ? -- 显示mysql的编码 ?? ? ? ?show variables like 'character%'; ?? ??? ?+--------------------------+-----------------------------------------+ ?? ??? ?| Variable_name ? ? ? ? ? ?| Value ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ?? ??? ?+--------------------------+-----------------------------------------+ ?? ??? ?| character_set_client ? ? | gbk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ?? ??? ?| character_set_connection | gbk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ?? ??? ?| character_set_database ? | latin1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ?? ??? ?| character_set_filesystem | binary ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ?? ??? ?| character_set_results ? ?| gbk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ?? ??? ?| character_set_server ? ? | latin1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ?? ??? ?| character_set_system ? ? | utf8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ?? ??? ?| character_sets_dir ? ? ? | C:\install\mysql\server\share\charsets\ | ?? ??? ?+--------------------------+-----------------------------------------+ ?? ? ?? ?? ? ?? ?? ?3.1解决一:在创建数据库时指定编码 ?? ? ?? ?? ? ? create database B charset 'utf8'; ?? ? ?? ?? ? ? use B; ?? ? ?? ?? ??? ?create table B1( ?? ??? ??? ? ?? ??? ??? ?id int, ?? ??? ??? ?sname varchar(20) ?? ??? ?); ?? ??? ? ?? ??? ?insert into B1 values(1,"李白"); ?? ??? ? ?? ??? ?select * from b1; ?? ? ?? ?? ?3.2解决二:一劳永逸解决不能插入中文问题
? ? ? ? ? ? ? ? (找到安装目录"C:\install\mysql\data\my.ini") ?? ? ?? ?? ? ? ?3.2.1 ?去掉 66 ?99 行 # ?在等号后面写 utf8 ?? ??? ??? ? ?default-character-set=utf8 ?? ??? ??? ? ?character-set-server=utf8 ?? ??? ?3.2.2 关闭mysql 重启服务 ? ? ? ? (此时乱码问题已经解决了但对于已经创建好的数据库,不受影响,需要新建数据库进行测试) ?? ??? ? ?? ??? ?3.2.3 再次创建数据库进行测试 ?? ??? ? ?? ??? ? ?create database c; ?? ??? ? ? ?? ??? ? ?use c; ?? ??? ? ?create table C1( ?? ??? ??? ? ?? ??? ??? ?id int, ?? ??? ??? ?sname varchar(20) ?? ??? ??? ?); ?? ??? ??? ? ?? ??? ?insert into C1 values(1,"李白"); ?? ??? ?? ?? ? ?注意: ?? ??? ? ?对my.ini的修改 对以后创建的数据库有效 对之前的没有效果 ?? ? ??
三:mysql的数据类型
一.整型数据类型? ?? ?int ?有符号 有正负 ?? ?? ? ? ? 无符号 unsigned ?没有负数只有正数 ?最小值是0 ?? ??? ?? ?? ?int(数值) 宽度(需要和unsigned 一起使用,否则无意义) ?? ? ?? ? ?? ?zerofill: 当 数据长度不够宽度 补0 当超过宽度 那就存指定的值 ?? ? ?? ?create database variabletype; ?? ? ?? ?use variabletype;
?? ?create table inttest( ?? ? ?? ??? ?id int, ?? ??? ?id2 int(4) ?? ? ?? ?); ?? ? ?? ?insert into inttest values(1,1); ?? ?insert into inttest values(10000,10000);
?? ?select * from inttest; ?? ? ?? ?create table inttest2( ?? ??? ?id int,?? ??? ? ?? ??? ?id2 int(4) unsigned zerofill -- id2 是无符号的值 宽度为4 不够宽度 用0补齐 ?? ?); ?? ? ?? ?insert into inttest2 values(-1,-1); --最小值是0不能添加 ?? ? ?? ? ?? ?insert into inttest2 values(-1,1); ?? ? ?? ?+------+------+ ?? ?| id ? | id2 ?| ?? ?+------+------+ ?? ?| ? -1 | 0001 | ?? ?+------+------+ ?? ? ?? ?insert into inttest2 values(-10000,10000); ?? ?
三:浮点型
浮点类型: ?? ?create table doubletest( ?? ? ?? ??? ?height double, ?? ??? ? ?? ??? ?salary double(5,2)-- 最多有五个数字 其中两位小数 ?? ? ?? ?); ?? ? ?? ?double: 能存最大的小数 ?? ??? ??? ?如果小数位数过长 无法精确表示 ?? ? ?? ?double(m,n): m 最多多少位 ? n 小数的个数 ?? ??? ??? ??? ?当小数的位数过长 会舍弃并四舍五入
例如 double(5,2)表示总共有5位,小数部分占2位。 ?? ? ?? ? ?? ?insert into doubletest values(3.14,6.28); ?? ? ?? ?insert into doubletest values(3.144,6.281); ?? ? ?? ?insert into doubletest values(33333.144,66666.281); ?? ?insert into doubletest values(33333.144,666.281); ?? ?insert into doubletest values(33333.144,666.289); ?? ? ?? ?insert into doubletest values(3.333333333333333333333333333,666.289); ?? ? ?? ?select * from doubletest; ?? ? ?? ?mysql> select * from doubletest; ?? ??? ?+--------------------+--------+ ?? ??? ?| height ? ? ? ? ? ? | salary | ?? ??? ?+--------------------+--------+ ?? ??? ?| ? ? ? ? ? ? ? 3.14 | ? 6.28 | ?? ??? ?| ? ? ? ? ? ? ?3.144 | ? 6.28 | ?? ??? ?| ? ? ? ? ?33333.144 | 666.28 | ?? ??? ?| ? ? ? ? ?33333.144 | 666.29 | ?? ??? ?| 3.3333333333333335 | 666.29 | ?? ??? ?+--------------------+--------+ ?? ? ?? ?-- decimal 可以表示更精确的小数 ? ? ? ? ? ? ??? ?decimal 没写宽度 只保留整数 且会对小数进行四舍五入
? ? ? ? ? ? ? ? (自己测试默认宽度是10? ?decimal(10,0)) ?? ??? ??? ??? ?decimal(20,18) 一共有20位 18位是小数 ?小数位数不足 补0 ?? ?create table decimaltest( ?? ? ?? ? ?id decimal, ?? ? ? ?? ? ?id2 decimal(20,18) ?? ? ?? ?); ?? ? ?? ?insert into decimaltest values(3.14,3.666); ?? ?insert into decimaltest values(3.64,3.666); ?? ?insert into decimaltest values(3.64,3.111111111111111111); ?? ? ?? ?select * from decimaltest; ?? ??? ?+------+----------------------+ ?? ??? ?| id ? | id2 ? ? ? ? ? ? ? ? ?| ?? ??? ?+------+----------------------+ ?? ??? ?| ? ?3 | 3.666000000000000000 | ?? ??? ?| ? ?4 | 3.666000000000000000 | ?? ??? ?| ? ?4 | 3.111111111111111111 | ?? ??? ?+------+----------------------+ ?? ? ?? ? bit:会将值转为二进制进行存储 ? ? ?如果不写宽度 只能存一个值 ?? ? ? ?写宽度 就可以存宽度个值 ?? ??? ? ?? ??? ?进行读取时 使用 bin()进行解析
?? ?create table bittest( ?? ? ?? ??? ?id bit, ?? ??? ?id2 bit(3) ?? ? ?? ?); ?? ?
?? ?insert into bittest values(1,1); ?? ?insert into bittest values(1,20); ?? ? ?? ? ?? ?select bin(id),bin(id2) from bittest;
四:日期类型 ?? ?
?? ?
7.日期类型
?? ? create table datetest( ?? ? ?? ?y year,-- 年 ?? ?d date,-- 年月日 ?? ?t time,-- 时分秒 ?? ?dt datetime, -- ? 年月日 时分秒 ?? ?tt timestamp -- ? 年月日 时分秒 随着时区的变化 自动变化
? ); ? -- 新增数据 now() 获取当前时间 ? insert into datetest values(now(),now(),now(),now(),now()); ?? ? -- 获取结果 ?? ? select * from datetest; ? select * from datetest; ?? ?+------+------------+----------+---------------------+---------------------+ ?? ?| y ? ?| d ? ? ? ? ?| t ? ? ? ?| dt ? ? ? ? ? ? ? ? ?| tt ? ? ? ? ? ? ? ? ?| ?? ?+------+------------+----------+---------------------+---------------------+ ?? ?| 2021 | 2021-11-08 | 14:53:25 | 2021-11-08 14:53:25 | 2021-11-08 14:53:25 | ?? ?+------+------------+----------+---------------------+---------------------+ ?? ?-- 更改时区到东九区 ? ?set time_zone='+9:00'; ? ? ? ?set time_zone='+8:00'; ?? ? ?select * from datetest; ?? ?+------+------------+----------+---------------------+---------------------+ ?? ?| y ? ?| d ? ? ? ? ?| t ? ? ? ?| dt ? ? ? ? ? ? ? ? ?| tt ? ? ? ? ? ? ? ? ?| ?? ?+------+------------+----------+---------------------+---------------------+ ?? ?| 2021 | 2021-11-08 | 14:53:25 | 2021-11-08 14:53:25 | 2021-11-08 15:53:25 | ?? ?+------+------------+----------+---------------------+---------------------+ ?? ? ?? ? ?? ?insert into datetest values('2023','2024-2-8','19:38:46','2024-12-3 13:23:45','2025-12-3 13:23:45'); ?? ? ? select * from datetest; ?? ?+------+------------+----------+---------------------+---------------------+ ?? ?| y ? ?| d ? ? ? ? ?| t ? ? ? ?| dt ? ? ? ? ? ? ? ? ?| tt ? ? ? ? ? ? ? ? ?| ?? ?+------+------------+----------+---------------------+---------------------+ ?? ?| 2021 | 2021-11-08 | 14:53:25 | 2021-11-08 14:53:25 | 2021-11-08 14:53:25 | ?? ?| 2023 | 2024-02-08 | 19:38:46 | 2024-12-03 13:23:45 | 2025-12-03 13:23:45 | ?? ?+------+------------+----------+---------------------+---------------------+ ?? ? ?? ?select y '年',d '年月日',t '时分秒',dt '年月日时分秒' , tt '年月日时分秒与时区有关' from testdate; ?? ? ?? ??? ?+------+------------+----------+---------------------+------------------------+ ?? ?| 年 ? | 年月日 ? ? | 时分秒 ? | 年月日时分秒 ? ? ? ?| 年月日时分秒与时区有关 | ?? ?+------+------------+----------+---------------------+------------------------+ ?? ?| 2021 | 2021-11-08 | 20:51:44 | 2021-11-08 20:51:44 | 2021-11-08 20:51:44 ? ?| ?? ?+------+------------+----------+---------------------+----------------------- ?? ?
??
?五:字符类型/enum/set类型
一.创建表 ?? ?/* ?? ? char 如果没有写宽度 那么只能存一个字符 ?固定长度字符串 ?? ? varchar ?都是字符串 ? ? ? ? ? ? ? ? ?可变长度字符串 ?? ?注意: ?? ? ?1.字符串既可以使用单引号 也可以使用 双引号 ?? ? ?2.varchar 使用时必须指明宽度 ?? ?*/ ?? ?create table charTest( ?? ? ?? ??? ?sex char, ?? ??? ?s char(20), ?? ??? ?sname varchar(20) ?? ? ?? ?); ?? ? ?? ?insert into charTest values('男',"李白",'王安石'); ?? ?insert into charTest values('男的',"李白",'王安石'); ?? ? ?? ?create table charTest1( ?? ? ?? ??? ?sex char, ?? ??? ?s char(20), ?? ??? ?sname varchar(20) ?? ? ?? ?); ?? ? ?? ? ?? ? ?? ?-- enum 规定该字段的值仅有 有限的几个值 ?? ? ?? ?create table enumtest( ?? ? ?? ??? ?id int, ?? ??? ?sname varchar(20), ?? ??? ?sex enum('男','女')
?? ?); ?? ? ?? ?insert into enumtest values(1,'李白','男'); ?? ?insert into enumtest values(2,'李清照','女'); ?? ?select * from enumtest; ?? ?+------+--------+------+ ?? ?| id ? | sname ?| sex ?| ?? ?+------+--------+------+ ?? ?| ? ?1 | 李白 ? | 男 ? | ?? ?| ? ?2 | 李清照 | 女 ? | ?? ?+------+--------+------+ ?? ?2 rows in set (0.00 sec) ?? ?--insert into enumtest values(2,'李白','男的'); ?? ?--ERROR 1265 (01000): Data truncated for column 'sex' at row 1 ?? ? ?? ?-- set ?? ?-- 规定了字段的值仅有有限的几个? ?? ?-- 输入值的方式 '读书,登山' ?? ?-- 也可以采用 数字相加 9 2^0 开始是第一个值 ?? ?-- set 里面最多有64个值 ?? ? ?? ?create table settest( ?? ? ?? ??? ?id int, ?? ??? ?sname varchar(20), ?? ??? ?-- ? ? ????????? ? ?1 ? ? ? ?2? ? ? ? ?4 ? ?????????8 ? ? 16 ?? ??? ?hobby set('读书','写代码','打游戏','登山','游泳')
?? ?); ?? ? ?? ? ?? ?insert into settest values(1,'张三','读书'); ?? ? ?? ?insert into settest values(1,'张三','看报');-- 错误的 没有看报 ?? ? ?? ?insert into settest values(1,'张三','读书','登山');
?? ?insert into settest values(1,'张三','读书,登山'); ?? ? ?? ?insert into settest values(2,'李四',3);-- 读书,写代码 ?? ?insert into settest values(2,'王安石',4);-- ?打游戏 ?? ?insert into settest values(3,'安琪拉',2); ?? ?insert into settest values(4,'汉子哥',1); ?? ? ?? ?insert into settest values(5,'嬴政',6); ?? ?insert into settest values(5,'嬴政',15); ?? ?
六:MySql语法规范
/* 1. mysql 不区分大小写
展现mysql 核对规则? ? show variables like 'colla%'; ci 结尾 不区分大小写? (默认ci结尾) ?? ?+----------------------+-----------------+ ?? ?| Variable_name ? ? ? ?| Value ? ? ? ? ? | ?? ?+----------------------+-----------------+ ?? ?| collation_connection | gbk_chinese_ci ?| ?? ?| collation_database ? | utf8_general_ci | ?? ?| collation_server ? ? | utf8_general_ci | ?? ?+----------------------+-----------------+ 2. 对数据库名 表名 字段名命名时 见名之意 26 英文 数字 下划线
3. 不要使用 关键字 ?如果非要使用 可以使用 飘号包裹 ``
4. 一个DBMS内 可以有多个数据库 ?但是各个数据库不能重名 ? ?一个数据库内可以有多张表 ? ? 但是各个表不能重名 ? ?一个表可以有多个字段 ? ? ? ?但是各个字段不能重名 5. 起别名? ?? ?字段的后面 as 别名的名称 ?as 可以省略 ?? ? ?如果有特殊字符 需要使用 引号 将 别名进行包裹 ?? ? ? 6.标点符号 必须是英文半角
7.注释 ?? ?-- 单行注释 ?? ?# ?单行注释 ?? ?/* ?* / 多行注释 */
create table c(
age int,
age double );
create database a;
-- 获取datetest 中所有的数据 select * from datetest;
-- 获取datetest y dt 字段的数据 select y,dt from datetest;
select y as '年份' ,dt 年月日时分秒 from datetest; -- ?如果有特殊字符 需要使用 引号 将 别名进行包裹 select y as '年份' ,dt '年月日 时分秒' from datetest;
七:Sql语言的分类
DDL: 数据库定义语言 ?创建库 创建表 ?删除库 删除表 ?添加字段 删除字段....
? ? ? ? ? ?(用于操作数据库和表的语言,并非直接操作数据)
DML:数据库操纵语言 对数据的 增删改
DQL: 数据库查询语言 ?查
DCL: 数据库控制语言 ?事务控制 ?权限管理 -- 展示所有的库 ?? ?show databases;
DDL语言?
-- 创建数据库
? ?create database 数据库名; ? ?create database e; ? -- 删除库
?? ?drop database 数据库名;
?? ?drop database b; -- 创建表 ? ?? ?? ?create table ctest(id int, ?? ??? ?sname varchar(20) ?? ?);
-- 展示所有的表
? ?show tables; -- 删除表 ? ? ? ?drop table 表名; ?? ? ? ? ?drop table ctest; ?-- 展示建表语句 ? ?? ?show create table bittest; ?? ? ?? ? ?? ? CREATE TABLE `bittest` ( ?? ? ?`id` bit(1) DEFAULT NULL, ?? ? ?`id2` bit(3) DEFAULT NULL ?? ?) ENGINE=InnoDB DEFAULT CHARSET=utf8 ?
DDL下
-- 展现对表中字段的操作
-- 列的定义 : 列的名字+列的类型
create table ctest(
?? ?id int, ?? ?sname varchar(20)
);
desc ctest; +-------+-------------+------+-----+---------+-------+ | Field | Type ? ? ? ?| Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id ? ?| int(11) ? ? | YES ?| ? ? | NULL ? ?| ? ? ? | | sname | varchar(20) | YES ?| ? ? | NULL ? ?| ? ? ? | +-------+-------------+------+-----+---------+-------+
-- 添加数据 insert into ctest values(1,"李白");
-- 查看数据
select * from ctest;
insert into ctest values(2,"李白",20);
-- 添加字段 -- ALTER ?TABLE tbl_name ADD ?列的定义 [FIRST | AFTER col_name ] -- 默认添加到最后 也可以指定 添加到那个位置 alter table ctest add age int;
alter table ctest add salary double after sname;
desc ctest; ?? ?+--------+-------------+------+-----+---------+-------+ ?? ?| Field ?| Type ? ? ? ?| Null | Key | Default | Extra | ?? ?+--------+-------------+------+-----+---------+-------+ ?? ?| id ? ? | int(11) ? ? | YES ?| ? ? | NULL ? ?| ? ? ? | ?? ?| sname ?| varchar(20) | YES ?| ? ? | NULL ? ?| ? ? ? | ?? ?| salary | double ? ? ?| YES ?| ? ? | NULL ? ?| ? ? ? | ?? ?| age ? ?| int(11) ? ? | YES ?| ? ? | NULL ? ?| ? ? ? | ?? ?+--------+-------------+------+-----+---------+-------+
-- 删除字段 -- ALTER ?TABLE tbl_name DROP [COLUMN] col_name -- 删除 sname 字段 alter table ctest drop sname; -- 删除 age 字段 alter table ctest drop COLUMN age;
desc ctest; +--------+---------+------+-----+---------+-------+ | Field ?| Type ? ?| Null | Key | Default | Extra | +--------+---------+------+-----+---------+-------+ | id ? ? | int(11) | YES ?| ? ? | NULL ? ?| ? ? ? | | salary | double ?| YES ?| ? ? | NULL ? ?| ? ? ? | +--------+---------+------+-----+---------+-------+
-- 修改字段 -- 修改名字 及类型
-- ALTER ?TABLE tbl_name CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name] alter table ctest change id id2 int(5) after salary;
alter table ctest change salary s2 double(5,3);
desc ctest; ?? ?+-------+-------------+------+-----+---------+-------+ ?? ?| Field | Type ? ? ? ?| Null | Key | Default | Extra | ?? ?+-------+-------------+------+-----+---------+-------+ ?? ?| s2 ? ?| double(5,3) | YES ?| ? ? | NULL ? ?| ? ? ? | ?? ?| id2 ? | int(5) ? ? ?| YES ?| ? ? | NULL ? ?| ? ? ? | ?? ?+-------+-------------+------+-----+---------+-------+ -- 修改类型 -- ALTER TABLE tbl_name ?MODIFY column_definition [FIRST|AFTER col_name]; alter table ctest modify s2 double;
-- 修改表名 -- ALTER TABLE tbl_name ?RENAME [TO] new_tbl_name;
alter table ctest rename person;
DML(完成对表格数据的新增)(重要)
-- 一.完成对表格数据的新增
?? ??? ?create table dog( ?? ??? ??? ?id int, ?? ??? ??? ?dname varchar(20), ?? ??? ??? ?sex char ?? ??? ?); ?? ??? ? ?? ?-- insert into 表名 values (字段值1,字段值2......);?? ? ?? ?insert into dog values(1,"旺财",'公'); ?? ?insert into dog values(2,"小黑",'公'); ?? ? ?? ?-- 批量添加 ? ?? ?insert into dog values(3,"小花","母"),(4,"小白","母"),(5,"小红","母"); ?? ? ?? ?-- 给指定的字段赋值 ?? ?-- insert into 表名(字段名1,字段名2.。。。) values (字段值1,字段值2......) ?? ?insert into dog(id,sex)values(6,'公'); ?? ?insert into dog(id,sex)values(7,'公'),(8,'公'),(9,'公'); ?? ? ?? ?-- 插入给指定的字段赋值? ?? ?-- insert into 表名 set 字段名 = 字段值,字段名 = 字段值...; ?? ? ?? ?insert into dog set sex ='公'; ?? ?insert into dog set dname ='小土'; ?? ? ?? ?insert into dog set id = 10, dname = '来福'; ?? ? -- 二.更新
?? ?update 表名 ?set 字段名 = 字段值 ?[where] 筛选条件; ?? ?如果没有筛选条件 那么 修改整张表所有的数据 ?? ?如果有筛选条件 那么 只修改满足筛选条件的数据 ?? ? ?? ?-- 将 id =1 的 数据 名字改为 666 ?? ? ?? ?update dog set dname = '666' where id ?=1; ?? ?-- 全部修改 ?? ?update settest set id = 6; ??
|