mariadb(mysql)[详解]
本文链接:https://blog.csdn.net/root__oo7/article/details/82817501
安装:
[root@bogon ~]# yum install mariadb -y #客户端
[root@bogon ~]# yum install mariadb-server -y #服务端
启动服务:
[root@bogon ~]# systemctl start mariadb
[root@bogon ~]# ss -tnl | grep 3306 #查看端口确定是否被监听
LISTEN 0 50 *:3306 *:*
说明:若是mysql启动 将mariadb改为mysql即可
进入mariadb:
[root@bogon ~]# mysql #注意
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
初始化mariadb:
[root@bogon ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): #直接回车即可
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y #是否设置mariadb中root用户的密码
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y #删除匿名用户
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n #是否允许root远程连接
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y #是否删除test这个测试库
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y #是否重新加载权限表
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
数据库及表的查询:
MariaDB [(none)]> show databases; #数据库的查询
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mage |
| mysql |
| performance_schema |
+--------------------+
5 rows in set (0.16 sec)
MariaDB [(none)]> use hellodb; #进入指定的数据库
Database changed
MariaDB [hellodb]> show tables; #数据库中表的查询
+-------------------+
| Tables_in_hellodb |
+-------------------+
| classes |
| coc |
| courses |
| scores |
| students |
| teachers |
| toc |
+-------------------+
7 rows in set (0.07 sec)
MariaDB [hellodb]> desc classes; #表的描述
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| ClassID | tinyint(3) unsigned | NO | PRI | NULL | auto_increment |
| Class | varchar(100) | YES | | NULL | |
| NumOfStu | smallint(5) unsigned | YES | | NULL | |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.14 sec)
MariaDB [hellodb]> select * from classes; #查询表的全部内容
+---------+----------------+----------+
| ClassID | Class | NumOfStu |
+---------+----------------+----------+
| 1 | Shaolin Pai | 10 |
| 2 | Emei Pai | 7 |
| 3 | QingCheng Pai | 11 |
| 4 | Wudang Pai | 12 |
| 5 | Riyue Shenjiao | 31 |
| 6 | Lianshan Pai | 27 |
| 7 | Ming Jiao | 27 |
| 8 | Xiaoyao Pai | 15 |
+---------+----------------+----------+
8 rows in set (0.05 sec)
MariaDB [hellodb]> select class from classes; #查询表的指定列
+----------------+
| class |
+----------------+
| Shaolin Pai |
| Emei Pai |
| QingCheng Pai |
| Wudang Pai |
| Riyue Shenjiao |
| Lianshan Pai |
| Ming Jiao |
| Xiaoyao Pai |
+----------------+
8 rows in set (0.05 sec)
MariaDB [hellodb]> select * from classes where classid=2; #按条件查询
+---------+----------+----------+
| ClassID | Class | NumOfStu |
+---------+----------+----------+
| 2 | Emei Pai | 7 |
+---------+----------+----------+
1 row in set (0.08 sec)
数据库及表的创建:
MariaDB [(none)]> create database zxl; #数据库的创建
Query OK, 1 row affected (0.20 sec)
MariaDB [(none)]> show databases; #显示库
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mage |
| mysql |
| performance_schema |
| zxl |
+--------------------+
6 rows in set (0.00 sec)
MariaDB [(none)]> use zxl; #进入指定的库
Database changed
MariaDB [zxl]> show tables; #显示库里的表
Empty set (0.00 sec)
MariaDB [zxl]> create table M33; #不指定列的情况下表的创建是不可以的
ERROR 1113 (42000): A table must have at least 1 column
MariaDB [zxl]> create table M33(id tinyint unsigned primary key,name varchar(20)); #创建表(主键在此可以定义,但不是仅可以在此定义)
Query OK, 0 rows affected (0.33 sec)
MariaDB [zxl]> show tables; #显示所有的表
+---------------+
| Tables_in_zxl |
+---------------+
| M33 |
+---------------+
1 row in set (0.00 sec)
MariaDB [zxl]> desc M33; #描述表
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | tinyint(3) unsigned | NO | PRI | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
表数据的增删改:
MariaDB [zxl]> insert into M33 values(1,'zhangsan'); #数据的插入
Query OK, 1 row affected (0.08 sec)
MariaDB [zxl]> select * from M33;
+----+----------+
| id | name |
+----+----------+
| 1 | zhangsan |
+----+----------+
1 row in set (0.00 sec)
MariaDB [zxl]> insert into M33 (id) values(2); #插入指定列的数据
Query OK, 1 row affected (0.09 sec)
MariaDB [zxl]> select * from M33;
+----+----------+
| id | name |
+----+----------+
| 1 | zhangsan |
| 2 | NULL |
+----+----------+
2 rows in set (0.00 sec)
MariaDB [zxl]> insert into M33 (name) values ('lisi'); #主键不能为空且唯一,所以这样插入数据不成功
ERROR 1364 (HY000): Field 'id' doesn't have a default value
MariaDB [zxl]> select * from M33; #删除数据前的表
+----+----------+
| id | name |
+----+----------+
| 1 | zhangsan |
| 2 | NULL |
+----+----------+
2 rows in set (0.00 sec)
MariaDB [zxl]> delete from M33 where id=2; #删除指定的行数据,如果没有where的限制条件,那么表的内容将全部清空
Query OK, 1 row affected (0.02 sec)
MariaDB [zxl]> select * from M33; #删除后数据的显示
+----+----------+
| id | name |
+----+----------+
| 1 | zhangsan |
+----+----------+
1 row in set (0.00 sec)
MariaDB [zxl]> update M33 set name='lisi' where id=1; #修改指定行的指定列的内容
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [zxl]> select * from M33;
+----+------+
| id | name |
+----+------+
| 1 | lisi |
+----+------+
1 row in set (0.00 sec)
简单函数的运用:
MariaDB [hellodb]> select avg(age) age from students; #平均age的函数,avg(age) age中括号外的age是别名,完整的写法为avg(age) as age ,其中这个as可以省略
+---------+
| age |
+---------+
| 28.2000 |
+---------+
1 row in set (0.00 sec)
MariaDB [hellodb]> select gender, avg(age) age from students group by gender; #分组求平均
+--------+---------+
| gender | age |
+--------+---------+
| F | 26.7000 |
| M | 29.2000 |
+--------+---------+
2 rows in set (0.00 sec)
MariaDB [hellodb]> select gender, avg(age) age from students where age>20 group by gender; #在where限制条件后再求分组的平均
+--------+---------+
| gender | age |
+--------+---------+
| F | 30.1429 |
| M | 36.2222 |
+--------+---------+
2 rows in set (0.00 sec)
说明:除了avg还有abs求绝对值 max最大值min最小值 sum和等的函数,其用法一致
表连接:
MariaDB [hellodb]> desc students;
+-----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+----------------+
| StuID | int(10) unsigned | NO | PRI | NULL | auto_increment |
| Name | varchar(50) | NO | | NULL | |
| Age | tinyint(3) unsigned | NO | | NULL | |
| phone | char(11) | YES | | NULL | |
| Gender | enum('F','M') | NO | | NULL | |
| ClassID | tinyint(3) unsigned | YES | | NULL | |
| TeacherID | int(10) unsigned | YES | | NULL | |
+-----------+---------------------+------+-----+---------+----------------+
7 rows in set (0.04 sec)
MariaDB [hellodb]> desc classes;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| ClassID | tinyint(3) unsigned | NO | PRI | NULL | auto_increment |
| Class | varchar(100) | YES | | NULL | |
| NumOfStu | smallint(5) unsigned | YES | | NULL | |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
MariaDB [hellodb]> select students.name ,classes.class from students join classes on students.classid=classes.classid;
+----------------+----------------+
| name | class |
+----------------+----------------+
| Hou Yi | Emei Pai |
| Ya Se | Shaolin Pai |
| An Qila | Emei Pai |
| Da Ji | Wudang Pai |
| Sun Shangxiang | QingCheng Pai |
| Huang Zhong | Riyue Shenjiao |
| Liu Bei | QingCheng Pai |
| Guan Yu | Ming Jiao |
| Zhang Fei | Lianshan Pai |
| Di Renjie | QingCheng Pai |
| Li Yuanfang | Lianshan Pai |
| Lan Lingwang | Shaolin Pai |
| Wang Zhaojun | Emei Pai |
| Bai Qi | QingCheng Pai |
| A Ke | Wudang Pai |
| Cai Wenji | Shaolin Pai |
| Lv Bu | Wudang Pai |
| Diao Chan | Ming Jiao |
| Gong Sunli | Lianshan Pai |
| Ming Shiyin | Ming Jiao |
| Dun Shan | Lianshan Pai |
| Zhou Yu | Shaolin Pai |
| Mi Yue | Wudang Pai |
+----------------+----------------+
23 rows in set (0.00 sec)
#上边是两表连接
MariaDB [hellodb]> desc classes;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| ClassID | tinyint(3) unsigned | NO | PRI | NULL | auto_increment |
| Class | varchar(100) | YES | | NULL | |
| NumOfStu | smallint(5) unsigned | YES | | NULL | |
+----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.03 sec)
MariaDB [hellodb]> desc courses;
+----------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+----------------+
| CourseID | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| Course | varchar(100) | NO | | NULL | |
+----------+----------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
MariaDB [hellodb]> desc students;
+-----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+----------------+
| StuID | int(10) unsigned | NO | PRI | NULL | auto_increment |
| Name | varchar(50) | NO | | NULL | |
| Age | tinyint(3) unsigned | NO | | NULL | |
| phone | char(11) | YES | | NULL | |
| Gender | enum('F','M') | NO | | NULL | |
| ClassID | tinyint(3) unsigned | YES | | NULL | |
| TeacherID | int(10) unsigned | YES | | NULL | |
+-----------+---------------------+------+-----+---------+----------------+
7 rows in set (0.01 sec)
MariaDB [hellodb]> select s.name as student_name, co.course as course from students s join coc c on s.classid=c.classid join courses co on c.courseid=co.courseid;
+----------------+----------------------+
| student_name | course |
+----------------+----------------------+
| Hou Yi | Kuihua Baodian |
| Hou Yi | Dugu Jiujian |
| Ya Se | Kuihua Baodian |
| Ya Se | Xixing Dafa |
| An Qila | Kuihua Baodian |
| An Qila | Dugu Jiujian |
| Da Ji | Xixing Dafa |
| Da Ji | Kuihua Baodian |
| Sun Shangxiang | Hama Gong |
| Sun Shangxiang | Dagou Bangfa |
| Huang Zhong | Hama Gong |
| Liu Bei | Hama Gong |
| Liu Bei | Dagou Bangfa |
| Guan Yu | Taiji Quan |
| Guan Yu | XiangLong Shibazhang |
| Zhang Fei | XiangLong Shibazhang |
| Zhang Fei | Taiji Quan |
| Di Renjie | Hama Gong |
| Di Renjie | Dagou Bangfa |
| Li Yuanfang | XiangLong Shibazhang |
| Li Yuanfang | Taiji Quan |
| Lan Lingwang | Kuihua Baodian |
| Lan Lingwang | Xixing Dafa |
| Wang Zhaojun | Kuihua Baodian |
| Wang Zhaojun | Dugu Jiujian |
| Bai Qi | Hama Gong |
| Bai Qi | Dagou Bangfa |
| A Ke | Xixing Dafa |
| A Ke | Kuihua Baodian |
| Cai Wenji | Kuihua Baodian |
| Cai Wenji | Xixing Dafa |
| Lv Bu | Xixing Dafa |
| Lv Bu | Kuihua Baodian |
| Diao Chan | Taiji Quan |
| Diao Chan | XiangLong Shibazhang |
| Gong Sunli | XiangLong Shibazhang |
| Gong Sunli | Taiji Quan |
| Ming Shiyin | Taiji Quan |
| Ming Shiyin | XiangLong Shibazhang |
| Dun Shan | XiangLong Shibazhang |
| Dun Shan | Taiji Quan |
| Zhou Yu | Kuihua Baodian |
| Zhou Yu | Xixing Dafa |
| Mi Yue | Xixing Dafa |
| Mi Yue | Kuihua Baodian |
+----------------+----------------------+
45 rows in set (0.00 sec)
#三表连接
mysql> select students.name ,teachers.name from students left join teas on teachers.tid=students.teacherid;
+----------------+---------------+
| name | name |
+----------------+---------------+
| Hou Yi | Wu Zetian |
| Ya Se | NULL |
| An Qila | NULL |
| Da Ji | Cheng Jisihan |
| Sun Shangxiang | Liu Bang |
| Huang Zhong | NULL |
| Liu Bei | NULL |
| Guan Yu | NULL |
| Zhang Fei | NULL |
| Di Renjie | NULL |
| Li Yuanfang | NULL |
| Lan Lingwang | NULL |
| Wang Zhaojun | NULL |
| Bai Qi | NULL |
| A Ke | NULL |
| Cai Wenji | NULL |
| Lv Bu | NULL |
| Diao Chan | NULL |
| Gong Sunli | NULL |
| Ming Shiyin | NULL |
| Dun Shan | NULL |
| Zhou Yu | NULL |
| Mi Yue | NULL |
| Kai | NULL |
| Sun Wukong | NULL |
+----------------+---------------+
25 rows in set (0.00 sec)
说明:左连接就是以左边的表为主体,其显示匹配的信息和为匹配的信息都会显示
视图:
mysql> create view view_name_age as select name,age from students; #视图的创建
mysql> select * from view_naem_age; #查询视图
mysql> create view view_name as select students.name sname,teachers.name from students join teachers on students.teacherid=teachers.tid; #复杂视图的创建时要注意列头名字不能一样,建议用别名来创建复杂视图
mysql> drop view view_name; #删除视图
触发器:
触发器解释:当一个事件发生时伴随着另一个事件的发生,具体的伴随事件发生情况要根据自己定义的策略
mysql> create trigger trigger_student after insert on student_info for each row update student_count set student_count=student_count+1;
Query OK, 0 rows affected (0.01 sec)
说明:触发器的策略定制 当在student_info中插入数据时student_count会自动增加一
mysql> select * from student_info;
Empty set (0.00 sec)
mysql> select * from student_count;
+---------------+
| student_count |
+---------------+
| 0 |
+---------------+
1 row in set (0.00 sec)
mysql> desc student_info;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| stu_id | int(11) | NO | PRI | NULL | auto_increment |
| stu_name | varchar(255) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
mysql> insert into student_info values(1,'zhang');
Query OK, 1 row affected (0.00 sec)
mysql> select * from student_info;
+--------+----------+
| stu_id | stu_name |
+--------+----------+
| 1 | zhang |
+--------+----------+
1 row in set (0.00 sec)
mysql> select * from student_count;
+---------------+
| student_count |
+---------------+
| 1 |
+---------------+
1 row in set (0.00 sec)
触发器的查询:
mysql> show triggers\G;
触发器的删除:
mysql> drop trigger triggername;
数据库账户的增加及授权:
账号的查询:
mysql> select user,host,password from mysql.user;
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| root | localhost.localdomain | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| root | 127.0.0.1 | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| | localhost | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| | localhost.localdomain | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| root | 192.168.127.7 | *128977E278358FF80A246B5046F51043A2B1FCED |
+------+-----------------------+-------------------------------------------+
6 rows in set (0.00 sec)
说明:一个账号是user和host一起才是一个完整的账号,而host中的ip是客户端的ip地址,同样的当客户端连接服务端时的ip地址是服务端的ip
账号的删除:
mysql> drop user root@'192.168.127.7';
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host, password from mysql.user;
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| root | localhost.localdomain | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| root | 127.0.0.1 | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| | localhost | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| | localhost.localdomain | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
+------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
账号的创建:
mysql> create user root@'192.168.127.7' identified by 'centos';
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host, password from mysql.user;
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| root | localhost.localdomain | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| root | 127.0.0.1 | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| | localhost | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| | localhost.localdomain | *5D83A6402DF44A7D8EC2B8861B19F8A2F4F3EA2F |
| root | 192.168.127.7 | *128977E278358FF80A246B5046F51043A2B1FCED |
+------+-----------------------+-------------------------------------------+
6 rows in set (0.00 sec)
账号连接:
[root@localhost ~]# mysql -uroot -pcentos -h 192.168.127.142
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
说明:此命令是在另一个终端上的,非服务器端。这个ip是服务端的ip地址,此终端的ip地址为192.168.127.7(客户端的ip)-p中的centos是密码
账号的授权:
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.00 sec)
说明:这个是新增账号的库的显示
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hellodb |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
说明: 这个是管理员连接同一个数据库的库的显示
授权:
mysql> grant all on hellodb.* to root@'192.168.127.7';
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hellodb |
| test |
+--------------------+
3 rows in set (0.00 sec)
说明:只有管理员才可以授权,本次授权是all(insert,select.....)库文件是hellodb下的所有的表,当然了也可以部分授权。
部分授权:
mysql> grant select(stuid,name) on hellodb.student to root@'192.168.127.7';
说明:授权库某个表的select的部分权限
查看授权:
mysql> show grants for root@'192.168.127.7';
+-----------------------------------------------------------------------------------------------------------------+
| Grants for root@192.168.127.7 |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'192.168.127.7' IDENTIFIED BY PASSWORD '*128977E278358FF80A246B5046F51043A2B1FCED' |
| GRANT ALL PRIVILEGES ON `hellodb`.* TO 'root'@'192.168.127.7' |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
删除授权:
mysql> revoke all on hellodb.* from root@'192.168.127.7';
Query OK, 0 rows affected (0.00 sec)
约束:
新增非空约束:
mysql> create table t1(id int(10) not null,name varchar(20)); #约束创建(在建表时)
mysql> insert into t1 values(null,'zhang');
ERROR 1048 (23000): Column 'id' cannot be null
mysql> alter table t1 modify name varchar(20) not null; #建表后增加约束
mysql> insert into t1 values(1,null);
Query OK, 1 row affected (0.00 sec)
mysql> alter table t1 modify name varchar(20) not null;
Query OK, 1 row affected, 1 warning (0.10 sec)
Records: 1 Duplicates: 0 Warnings: 1
mysql> insert into t1 values(1,null);
ERROR 1048 (23000): Column 'name' cannot be null
删除约束:删除约束就是在新增约束时不加约束条件在重新定义一遍
唯一约束:主键的设置
————————————————
版权声明:本文为CSDN博主「root_oo7」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/root__oo7/article/details/82817501
mariadb(mysql)[详解]的更多相关文章
- MySql详解(四)
MySql详解(四) MySql的DML操作 插入: 一.方式一 语法: insert into 表名(字段名,...) values(值,...); 特点: 1.要求值的类型和字段的类型要一致或兼容 ...
- MySql详解(一)
MySql详解(一) 作为一名Java开发人员,数据库的地位不用多说了.从大学时期的SqlServer,到现在最流行的MySql和Oracle.前者随着阿里巴巴的去IOE化,在互联网公司中的使用比例是 ...
- MySql详解(三)
MySql详解(三) 导入基础表 具体的SQL文件已经放入百度网盘,连接为:http://pan.baidu.com/s/1hseoVR2,后面的MySql内容都是按照这些基础表展开的. depart ...
- MySql详解(五)
MySql详解(五) MySql库的管理 一.创建库 create database [if not exists] 库名[ character set 字符集名]; 二.修改库 alter data ...
- MySql详解(七)
MySql详解(七) MySql视图 一.含义 mysql5.1版本出现的新特性,本身是一个虚拟表,它的数据来自于表,通过执行时动态生成. 好处: 1.简化sql语句 2.提高了sql的重用性 3.保 ...
- MySql详解(六)
MySql详解(六) MySql事务 一.含义 事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行 二.特点(ACID) A 原子性:一个事务是不可再分割的整体,要么都执 ...
- MySQL详解
MySQL详解 什么是数据库 # 用来存储数据的仓库 # 数据库可以在硬盘及内存中存储数据 # 数据库与文件存储数据区别 # 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文 ...
- Linux上安装二进制文件MySQL详解
前言:昨天晚上搞了很久,终于搞清楚mysql的安装配置了,我真是太low了.当我在云服务器上登进Mysql时,真是高兴哈哈,咱一步一步来,彻底搞懂Mysql的安装配置. 我的安装环境: 阿里云服务器 ...
- MySQL详解--锁,事务
http://www.cnblogs.com/jukan/p/5670950.html http://blog.csdn.net/xifeijian/article/details/20313977 ...
- MySQL详解--锁,事务(转)
锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有数 ...
随机推荐
- 部署.Net Core APi+Vue 到 linux centos 服务器(一)
部署.Net Core APi+Vue 到 linux centos 服务器(一) 前言:项目采用的是 .net core 作为接口,vue作为前端. 此时需要把整个项目架设到linux centos ...
- postgresql学习之安装篇
---恢复内容开始--- 安装方法: 1.可以使用操作系统自带的安装源 2.可以使用官网下载的源码进行安装 3.可以使用编译好的包入.run格式的安装包安装(本文使用的是这种安装方法,下载地址http ...
- 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives
(聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...
- 入门篇-contrail-command(对接openstack)All-In-One
基础环境 系统: centos7.6(3.10.0-957) 64G内存 500G磁盘 关闭防火墙 systemctl disable firewalld 关闭selinux sed -i 's/SE ...
- 使用密码远程QQ时窗口闪退
系统时间不一致,在QQ上使用密码远程时会闪退,把系统时间调到大概一致就行了.
- web API .net - .net core 对比学习-文件目录概述
个人正在学习.net web Api的相关知识,因此用这一系列博客做一记录. 1. 首先我们分别创建 .net web api 项目和 .net core web api 项目. 2. 我们首先比较一 ...
- easy ui 弹框叠加问题
1.框架用的是.net MVC,Index页面如下所示: @{ Layout = "~/Views/Shared/_CustomerLayout.cshtml"; ViewBag. ...
- Go内存分配器可视化指南【译】【精】
当我第一次开始尝试理解 Go 语言的内存分配器时,整个过程让我抓狂.一切看起来都像一个神秘的黑盒子.因为几乎所有技术魔法(technical wizardry)都隐藏在抽象之下,所以你需要一层一层的剥 ...
- 复杂dic的文件化存储和读取问题
今天遇到一个难题.整出一个复杂的dic,里面不仅维度多,还含有numpy.array.超级复杂.过程中希望能够存储一下,万一服务器停了呢?万一断电了呢? 结果存好存,取出来可就不是那样了.网上搜索了很 ...
- pyhon opencv mojave 摄像头报错
https://blog.csdn.net/renzibei/article/details/82998933 参考了上面博主的例子,才明白. Mac macOS 10.14 Mojave Xcode ...