Mysql数据库基本操作(1)

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;

 

posted @ 2018-11-21 20:09  大彪哥55  阅读(161)  评论(0编辑  收藏  举报