Mysql数据库基本操作
1 -- 数据库操作 2 3 -- 链接数据库 4 mysql -uroot -p 5 mysql -uroot -pmysql 6 7 -- 退出数据库 8 exit/quit/ Ctrl+'d' 9 10 -- sql语句最后要有分号";"结尾 11 12 -- 显示数据库版本 13 select version(); 14 15 16 -- 显示时间 17 select now(); 18 19 -- 查看所有数据库 20 show databases; 21 22 -- 创建数据库 23 -- create database 数据库名 charset=utf8; 24 create database python04; 25 create database python04 charset=utf8; 26 27 -- 查看创建数据库语句 28 -- show create database ...... 29 -- 查看创建语句时不用加设置字符项 30 show create database python04; 31 32 -- 查看当前使用的数据库 33 select darabase(); 34 35 -- 使用数据库 36 -- use 数据库的名字 37 use python04new; 38 39 -- 删除数据库 40 drop database python04; 41 42 -- 数据表操作 43 44 -- 查看当前数据库中的表 45 show tables; 46 47 -- 创建表 48 -- auto_increment表示自动增长 49 -- not null 便是不为空 50 -- primary key 主键 51 -- default 默认值 52 -- create table 数据表名字 (字段 类型 约束[,字段 类型 约束]); 53 54 create table xxxx(id int,name varchar(30)); 55 create table zzzz( 56 id int primary key not null auto_increment, 57 name varchar(30) 58 ); 59 60 -- 创建students表(id、 name、 age、high、gender、cls_id) 61 create table students( 62 id int unsigned not null primary key auto_increment, 63 name varchar(30), 64 age tinyint unsigned defult 0, 65 high decimal(5,2), 66 gender enum("男","女","中性","保密") default "保密", 67 cls_id int unsigned 68 ); 69 70 insert into students values(0,"老王",18,188.88,"男",0); 71 72 -- 创建classes表(id、name) 73 create table classes( 74 id int unsigned not null primary key auto_increment, 75 name varchar(30) 76 ); 77 78 insert into classes values(0,"张三"); 79 80 -- 查看表的创建语句 81 -- show create table 表名字; 82 show create table students; 83 84 -- 查看表结构 85 -- desc 数据表的名字; 86 desc xxxx; 87 88 -- 修改表-添加字段 89 -- alter table 表名 add 列名 类型; 90 alter table students add birthday datetime; 91 92 93 -- 修改表-修改字段:不重名版 94 -- alter table 表名 modify 列名 类型及约束; 95 alter table students modify birthday date; 96 97 98 -- 修改表-改字段:重命名版 99 -- alter table 表名 change 原名 新名 约束及类型; 100 alter table students change birthday birth date default "2000-01-01"; 101 102 --修改表-删除字段 103 -- alter table 表名 drop 列名; 104 alter table student drop high; 105 106 -- 删除表 107 -- drop table 表名; 108 drop table xxxx; 109 110 111 -- 增删改查() 112 113 -- 增加 114 -- 全列插入 115 -- insert [into] 表名 values(); 116 -- 主键字段 可以用 0 null default 来占位 117 -- 向classes表中插入 一个班级 118 insert into classes values(0,"菜鸟班"); 119 120 +--------+-------------------------------------+------+-----+------------+----------------+ 121 | Field | Type | Null | Key | Default | Extra | 122 +--------+-------------------------------------+------+-----+------------+----------------+ 123 | id | int(10) unsigned | NO | PRI | NULL | auto_increment | 124 | name | varchar(30) | YES | | NULL | | 125 | age | tinyint(3) unsigned | YES | | 0 | | 126 | gender | enum('男','女','中性','保密') | YES | | 保密 | | 127 | cls_id | int(10) unsigned | YES | | NULL | | 128 | birth | date | YES | | 2000-01-01 | | 129 +--------+-------------------------------------+------+-----+------------+----------------+ 130 131 132 -- 向students表插入 一个学生信息 133 insert into students values(0,"小李飞刀",20,"女",1602,"2009-09-09"); 134 insert into students values(null,"小李飞刀",20,"女",1602,"2009-09-09"); 135 insert into students values(default,"小李飞刀",20,"女",1602,"2009-09-09"); 136 137 -- 失败 “第四性别”不存在枚举变量中 138 -- insert into students values(default,"小李飞刀",20,"第四性别",1602,"2009-09-09"); 139 140 -- 枚举 的 下表从1开始 1--“男” 2--“女”... 141 insert into students values(default,"小李飞刀",20,2,1602,"2009-09-09"); 142 143 144 -- 部分插入 145 -- insert into 表名(列1,...) values(值1,...) 146 insert into students (name,gender) values ("小乔","女"); 147 148 -- 多行插入 149 insert into students (name,gender) values ("大乔","女"),("貂蝉","女"); 150 151 insert into students values(0,"西施",20,"女",1602,"2009-09-09"),(0,"王昭君",20,"女",1602,"2009-09-09"); 152 153 154 155 -- 修改 156 -- update 表名 set 列1=值1,列2=值2... where 条件; 157 update students set gender=1; -- gender值全部修改为1 “男” 158 update students set gender=1 where name="小李飞刀"; -- 名字为小李飞刀的gender值修改为1“男” 159 update students set gender=1 where id=3; -- id为3的gender值修改为1“男” 160 update students set gender=1,age=22 where id=3; -- id为3的gender值修改为1“男”、age值修改为22 161 162 -- 删除 163 -- 物理删除 164 -- delete from 表名 where 条件 165 delete from students; -- 删除整张表数据; 166 delete from students where name="小李飞刀"; -- 把name为小李飞刀的数据删除 167 168 -- 逻辑删除 169 -- 用一个字段来表示 这条信息是否已经不能再用了 170 -- 给students表添加一个is_delete bit 类型 171 alter table students add is_delete bit default 0; -- is_delete标识字段是否删除 172 update students set is_delete=1 where id=6; -- 字段逻辑上删除 is_delete 更新为1 173 174 175 -- 查询基本使用 176 -- 查询所有列 177 -- select * from 表名; 178 select * from students; 179 180 -- 指定条件查询 181 select * from students where name="小李飞刀"; -- 查询name为小李飞刀的所有的信息 182 select * from students where id>6; 183 select * from students where id>6 and name="小李飞刀"; 184 185 -- 查询指定列 186 -- select 列1,列2,... from 表名; 187 select name,age,birth from students; 188 189 190 191 -- 可以用as为列或表指定别名 192 -- select 字段[as 别名] ,字段[as 别名] from 数据表 where ...; 193 select name as 姓名,age as 年龄,birth as 生日 from students; 194 195 -- 字段的顺序 196 select age as 年龄,name as 姓名,birth as 生日 from students;